home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / ab20 / ab20_archive / sounds / tools / multiplayer-1.17.lzh / Player.doc < prev    next >
Text File  |  1992-02-28  |  62KB  |  1,370 lines

  1.                                 MultiPlayer
  2.                                Version 1.17
  3.                          Copyright 1991 Bryan Ford
  4.                             All Rights Reserved
  5.  
  6.  
  7.  
  8.                                 Disclaimer
  9.                                 ~~~~~~~~~~
  10.  
  11.     This program is provided "as is" without warranty of any kind, either
  12. expressed or implied, including, but not limited to, the implied warranty
  13. of fitness for a particular purpose.  The entire risk as to the results,
  14. reliability and performance of this program is assumed by you.
  15.  
  16.  
  17.  
  18.                                Introduction
  19.                                ~~~~~~~~~~~~
  20.  
  21.     Welcome to the most powerful, versatile, and user-friendly music player
  22. ever created on the Amiga!  As you will see, MultiPlayer has almost all the
  23. features you've seen in other music players, plus a great number that have
  24. never been implemented before in a music player.
  25.  
  26.     If you want to get full benefit from MultiPlayer you should at least
  27. scan through this whole documentation.  However, it is very easy to use, so
  28. feel free to take it for a test drive first.  If you're upgrading from a
  29. previous version of MultiPlayer, make sure you look at the History section
  30. near the end of this document to see what's new.
  31.  
  32.     One of the goals of MultiPlayer is to be as system-friendly as
  33. possible.  It multitasks well, it doesn't interfere with high-priority
  34. interrupts such as serial port interrupts, and it properly allocates audio
  35. channels so that the music doesn't conflict with other programs.  It is
  36. fully functional on Kickstart 2.0 and 1.3 (although it works much better
  37. under 2.0), and isn't prone to "lose" notes on fast processors like most
  38. other players are.
  39.  
  40.     Another goal of MultiPlayer is to support a very diverse array of music
  41. formats.  MultiPlayer currently supports over twenty different common
  42. module formats, plus some special ones.  See 'Supported Formats' near the
  43. end of this document for a list of the module types MultiPlayer can play.
  44. (Not all of MultiPlayer's features are available with every module format,
  45. but MultiPlayer will at least play each format on the list.)
  46.  
  47.     The unregistered version of MultiPlayer is freely redistributable as
  48. long as it and its documentation is not modified in any way, and the files
  49. listed below are distributed with it.  (See the end of this file for
  50. details about registering MultiPlayer.) You may not charge more for
  51. distributing it than a small fee to cover the disk copying expenses.  The
  52. MultiPlayer version 1.17 distribution must contain the  following files:
  53.  
  54.         Player.doc                      MultiPlayer documentation (this file)
  55.         Player                          The unregistered version of MultiPlayer
  56.         Player.info                     Icon for MultiPlayer
  57.  
  58.         Programmers/Formats.doc         Specification of GMOD module format
  59.         Programmers/GMOD.i              Include file to help with GMOD's
  60.         Programmers/DW_GMOD.asm         Example GMOD header
  61.         Programmers/DW_Convert.c        Example program to write GMOD files
  62.         Programmers/DW_Convert          Executable version of same
  63.         Programmers/LMKFile             SAS/C makefile for DW_Convert
  64.  
  65.         ChipMunch/ChipMunch             Useful utility if you have >512K chip RAM
  66.         ChipMunch/ChipMunch.info        Icon for ChipMunch
  67.         ChipMunch/ChipMunch.doc         Documentation for ChipMunch
  68.         ChipMunch/src/chipmunch.c       SAS/C source for ChipMunch
  69.         ChipMunch/src/makescript        MakeScript for ChipMunch
  70.         ChipMunch/src/sascopts          SAS/C options
  71.  
  72.  
  73.  
  74.                               Acknowledgments
  75.                               ~~~~~~~~~~~~~~~
  76.  
  77.         Michael Sinz (CBM) for tips on the memory manager.
  78.  
  79.         Darren Schebek for lots of suggestions and ideas.
  80.                 (When's your player library coming out, anyway? :-) )
  81.  
  82.         Janne Saarme for lots of players and other stuff.
  83.  
  84.         Teijo Kinnunen for MED/OctaMED support and player code.
  85.  
  86.         Barry McConnell for lots of testing, suggestions, and possibly
  87.                 some new user interface code.  (Hint, hint. :-) )
  88.  
  89.         And most of all, to the talented people who create all the
  90.                 wonderful music on the Amiga!
  91.  
  92.  
  93.  
  94.                                General Usage
  95.                                ~~~~~~~~~~~~~
  96.  
  97.     To start MultiPlayer, just type 'player' from the CLI or click on the
  98. icon from the Workbench and it will present the ASL or ARP filerequester to
  99. select a module from, depending on which version of the operating system
  100. you are using.  (If you are running 1.3, you must have the arp.library
  101. version 39 or higher installed to get the file requester - if you don't,
  102. you won't be able to load modules from the window.)  Under 2.0, you can
  103. select multiple modules at a time (as many as you want).  Under 1.3, you
  104. will have to select them one at a time (although you can still build
  105. programs).  If you run MultiPlayer from the CLI, it automatically detaches
  106. itself, so there is no need to Run it.  You can also start modules playing
  107. immediately when MultiPlayer starts up - see the section on 'Startup
  108. Options' for more information on starting MultiPlayer.
  109.  
  110.     While MultiPlayer is running there is normally a small window in the
  111. title bar displaying the name of the module that is currently playing (or
  112. just "MultiPlayer" if nothing is loaded).  You can click the close gadget
  113. to stop the music and terminate MultiPlayer.  If you are running Kickstart
  114. 2.0, the MultiPlayer window will have a zoom gadget near its right end.  If
  115. you click it, you will see a control panel that allows you to load
  116. different modules and gives access to some of MultiPlayer's more advanced
  117. features.  Since 1.3 doesn't know about zoom gadgets, you can get the
  118. control panel under 1.3 by pressing the right mouse button while the
  119. MultiPlayer window is active.
  120.  
  121.     If you have the xpkmaster.library (a freeware compression "supervisor"
  122. standard mostly by Dominik Mueller, Christian Schneider, and myself)
  123. installed in your system, MultiPlayer can automatically unpack modules that
  124. are packed using any format it can understand.  (This includes PowerPacker
  125. format, if you have the powerpacker.library installed as well.)
  126.  
  127.     If you start getting shaky when you see MultiPlayer's size (>80K),
  128. don't worry (be happy) - thanks to a custom memory management and overlay
  129. system, MultiPlayer uses only the memory it needs to do its job.  All of
  130. the module players are loaded only when needed, and any players not
  131. currently in use are unloaded on demand if the system runs out of memory.
  132. The parts of the program used to control MultiPlayer's various windows are
  133. also only loaded when they are needed (when the respective windows are
  134. open) and are freed as necessary.  Thus, generally only about 25K of
  135. program code is usually loaded at any one time.
  136.  
  137.     If you have tons of memory and don't want overlays, the registered
  138. release comes with a separate version of MultiPlayer ("Player.nov") that
  139. runs without overlays (like a normal program).  It generally uses about 50K
  140. more memory than the overlaid version does, but it can be compressed with
  141. PowerPacker or Imploder if you're short on disk space.  (Imploder *should*
  142. be able to compress the overlaid version of MultiPlayer, but it won't - I
  143. haven't figured out why.)
  144.  
  145.     For all you hackers (used in the positive meaning) that like to rip out
  146. every form of music imaginable, when you come across some obscure module
  147. format that nothing understands, don't despair.  There are several special
  148. formats built into MultiPlayer that you can use to easily interface it to
  149. any kind of module.  All you need is the module, some player code for the
  150. module (if the module doesn't already have embedded player code), and a
  151. little assembly language programming.  Details on all three formats are in
  152. the separate file 'Formats.doc'.  If you are the author of a music composer
  153. program, you should also read this document and consider supporting the
  154. GMOD embedded-player module format in your program.  (It's not a music
  155. storage standard - it's more like a music playing standard.)
  156.  
  157.  
  158.  
  159.                                Control Panel
  160.                                ~~~~~~~~~~~~~
  161.  
  162.     The main MultiPlayer window normally sits quietly in the title bar. (If
  163. you don't like it there, move it somewhere else and save the preferences -
  164. it'll stay put wherever you want it.)  However, if you click the zoom
  165. gadget under 2.0 or click the right mouse button under 1.3, it will become
  166. a small control panel.  Under 2.0, if you have a 3-button mouse, the middle
  167. button will act the same as the zoom gadget.  This panel displays a few
  168. pieces of information about the module currently playing, and has some
  169. buttons you can use to control MultiPlayer.
  170.  
  171.     When running under Workbench 2.0, the MultiPlayer control panel is an
  172. AppWindow, so you can play modules by simply dropping their icons into the
  173. MultiPlayer window.  When you do, the new module (or several modules, if
  174. you extended-select them) replaces the current program, and MultiPlayer
  175. starts playing the first module immediately.  This works basically like
  176. selecting modules with the New button.
  177.  
  178. Module box
  179.  
  180.     This box displays the filename of the module currently loaded
  181. (essentially the same as what is displayed in the title bar).  Any 'mod.'
  182. prefixes for Soundtracker/Noisetracker modules will not be displayed.
  183.  
  184. Type box
  185.  
  186.     Displays the type of the loaded module (as MultiPlayer sees it).
  187. Simple enough?
  188.  
  189. Author box
  190.  
  191.     Displays the name of the person who wrote this module, if MultiPlayer
  192. can glean this information from the module.  Most current module formats
  193. don't have direct facilities for identifying the author - in this case, the
  194. box will just display 'Unknown'.  Soundtracker/Noisetracker modules often
  195. have author names embedded in the instrument list - in this case,
  196. MultiPlayer will try to make a good guess by searching for keywords such as
  197. 'by'.  (If it screws up for some reason, you can always type the module in
  198. hex to find out for sure.)  MED modules have somewhat better support, but
  199. they still don't have a convenient 'author' field - just a catch-all
  200. 'annotation' field, which MultiPlayer processes much the same way as with
  201. Soundtracker modules.  GMOD modules are the only types I know of that
  202. directly support author identification, but they are at the moment few and
  203. far between.  (Let's get with it, OK?  Don't all the wonderful musicians
  204. want to be recognized?)
  205.  
  206. Song gadget
  207.  
  208.     This gadget serves two purposes.  First, it displays the name of the
  209. currently loaded module or song as recorded in the module itself.  For
  210. example, with Soundtracker/Noisetracker modules this gadget will display
  211. the song name as recorded in the first 20 bytes of the file.  Many module
  212. formats don't have built-in name fields - in this case, the box will just
  213. display 'Unknown.'
  214.  
  215.     For most types of modules, which support only one song per module, this
  216. gadget will serve no purpose other than displaying the song name - clicking
  217. on it will do nothing.  However, some module formats such as (GMODs) allow
  218. several independent songs to be contained in a single module (for example,
  219. to save memory by using the same instruments on several songs).  In that
  220. case, this gadget will cycle through the available songs in the module.
  221. You can also change songs using the left and right arrow keys.
  222.  
  223. Volume slider
  224.  
  225.     This slider controls the volume of the currently playing module.
  226. Minimum volume is all the way to the left; maximum is all the way to the
  227. right. This feature doesn't work with all types of modules, but it works
  228. with the most popular types.
  229.  
  230.     The current master volume, balance, and speed settings are saved with
  231. MultiPlayer's Preferences, so when MultiPlayer starts up they will be set
  232. to whatever they were set to last time you saved MultiPlayer's preferences.
  233.  
  234.  
  235. Balance slider
  236.  
  237.     This slider adjusts the balance by scaling the left and right volumes
  238. separately.  When the slider is all the way to the left, only the left
  239. channels will be played; when it is all the way to the right, only the
  240. right channels will be played.  Normally it's in the center, where both
  241. sides play with equal volume.  Like the volume control, this feature
  242. doesn't work with every type of module MultiPlayer supports.
  243.  
  244.  
  245. Speed slider
  246.  
  247.     This slider adjusts the module's current playing speed.  Move the knob
  248. to the left to slow down the module; move it right to speed it up.  The PAL
  249. and NTSC buttons to the right of the slider set the speed to two common
  250. presets.  PAL (the default) sets the speed to 50Hz, which is what most
  251. modules are written for.  NTSC sets the speed to 60Hz, which simulates the
  252. speed at which poorly-written music players and games play music written
  253. for PAL mode.
  254.  
  255.  
  256. New button
  257.  
  258.     This button displays the file requester and lets you select any number
  259. of modules.  The new list of modules replaces the current program, if there
  260. was one.  The first module in the list (or a random module, if you have
  261. selected random playing) will be started.  The program will be created with
  262. the order in which the modules were displayed in the file requester.  (At
  263. least this is how the current ASL file requester works - it may change.)
  264. If you select a directory but don't select a file (leave the "File" string
  265. gadget blank), MultiPlayer scans the directory and adds everything in that
  266. directory to the program.
  267.  
  268. Play button
  269.  
  270.     Starts or continues playing a module that was previously stopped but
  271. not unloaded.  If the module type supports the continue feature, the module
  272. will continue playing where it left off.  Otherwise it will start again
  273. from the beginning.  If you have selected the 'Fade...' checkbox in
  274. Preferences, and the module type supports volume control, the music will
  275. fade in gradually instead of just starting instantly.
  276.  
  277. Stop button
  278.  
  279.     Stops the current module without unloading it.  Audio channels and
  280. interrupts are freed while a module is stopped, so you don't have to exit
  281. MultiPlayer completely if you want to run some other program that needs the
  282. audio hardware.  If you have selected the 'Fade...' checkbox in
  283. Preferences, and the module type supports volume control, the music will
  284. fade out gradually instead of stopping instantly.  If the module type
  285. supports restart, you can restart it where it left off by pressing the Play
  286. button.
  287.  
  288. Eject button
  289.  
  290.     Stops and unloads the currently loaded module, and frees all memory and
  291. other resources that the module was using.
  292.  
  293. Next button
  294.  
  295.     Loads and plays the next module in the current program list.  If you
  296. have selected random play, this button simply loads another module in the
  297. list, at random.  This is the same as pressing the down arrow key in the
  298. MultiPlayer window.
  299.  
  300. Prev button
  301.  
  302.     Loads and plays the previous module in the program list.  If you have
  303. selected random play, this button does basically the same thing as the Next
  304. button - picks another module at random.  This button does the same thing
  305. as pressing the up arrow key in the MultiPlayer window.
  306.  
  307. Program button
  308.  
  309.     Opens the Program window, described below.  Under 2.0, you can
  310. also do this by clicking the right mouse button while the main MultiPlayer
  311. window is active.
  312.  
  313. Prefs button
  314.  
  315.     Opens MultiPlayer's Preferences window, described later.
  316.  
  317.  
  318.  
  319.                               Program Window
  320.                               ~~~~~~~~~~~~~~
  321.  
  322.     The program window displays a list of all the modules in the current
  323. module 'program'. You can select modules from the list to load and play
  324. immediately by simply double-clicking on their names.  You can also build
  325. and rearrange your program using this window.  You get this window by
  326. pressing the 'Program' button on the main window's control panel, or by
  327. pressing the Help or F1 keys in the MultiPlayer window, or, under 2.0, by simply
  328. clicking the right mouse button while any of MultiPlayer's windows are
  329. active.  Note that this window doesn't cause the main control panel to
  330. "freeze" - you can still watch and use it while this window is open.  In
  331. fact, all of MultiPlayer's windows (even the file requester) are this way.
  332.  
  333.     If sequenced play is selected (the default), when one module is
  334. finished, the next lower one on the list is loaded and played.  (This only
  335. applies on modules that can detect repeat - most do, but on those that
  336. don't, unless you have set an end time in the Settings window, the module
  337. will just play forever until you explicitly tell MultiPlayer to go to the
  338. next module.)  With random play, a different module will be randomly
  339. chosen.  There is no limit to the number of modules you can have in a
  340. program, and modules in the program can be located in many different
  341. directories - MultiPlayer will remember the location of each module.
  342.  
  343.     When running under Workbench 2.0, the Program window is an AppWindow,
  344. so you can add modules by simply dropping their icons into this window.
  345. This window works slightly differently from the main Multiplayer window,
  346. however.  When you drop icons into this window, the behavior is the same as
  347. if you had selected the modules with the 'Add' button:  The new modules are
  348. added to the end of the current program list (instead of replacing the
  349. current program), and whatever is currently playing remains unaffected.
  350.  
  351.     Besides the module listing, this window contains several buttons that
  352. allow you to manipulate the module list.  These are described below:
  353.  
  354. Top, Up, Down, and Bot buttons
  355.  
  356.     These buttons allow you to rearrange the modules in the program.  They
  357. work on the currently selected module, and their meanings should be obvious.
  358.  
  359. Add button
  360.  
  361.     This button works basically the same way as the 'New' button on the
  362. main window - it brings up the file requester and allows you to select
  363. modules.  However, it doesn't cause the previous program to be cleared when
  364. you finish, and it doesn't start playing a new module immediately.  If you
  365. select a directory without selecting a filename, MultiPlayer will scan that
  366. directory and add all the files in it to the program.
  367.  
  368. Del button
  369.  
  370.     This button deletes the currently selected module in the program list.
  371. If this module is currently playing, it doesn't stop the module immediately
  372. - the module continues playing until you select a different module.
  373.  
  374. Play button
  375.  
  376.     This button does basically the same thing as double-clicking on a
  377. module name in the program list: it loads and starts playing the currently
  378. selected module.
  379.  
  380. Settings button
  381.  
  382.     This button toggles the Settings window, described later.  The F3 key
  383. can also be used for this purpose.
  384.  
  385. Clear button
  386.  
  387.     Clears the entire current program list.  As with the 'Del' button, it
  388. does not stop any currently playing module.
  389.  
  390. Sort button
  391.  
  392.     Sorts the entire current program list alphabetically.  Handy if you
  393. like to use random play (and thus don't really care about the play order)
  394. and you'd like a nice neat module listing.
  395.  
  396. Load button
  397.  
  398.     Brings up the file requester so you can load a previously saved program
  399. from disk.  (This button will only work on the registered version of
  400. MultiPlayer.)  The newly loaded program will replace the current program.
  401.  
  402.     Note that you can also load saved programs from the regular module
  403. requester - programs are recognized just like modules, and programs
  404. selected this way will automatically be loaded and run.  (You could even
  405. put the name of another program file at the bottom of the first one, and
  406. chain programs together!)
  407.  
  408. Save button
  409.  
  410.     Brings up the file requester and lets you save the current program to a
  411. disk file.  (Also only works on the registered version.)  You can then load
  412. it again later through the Load gadget or using any method normally used to
  413. select modules - the file requester, Workbench extended-select when
  414. starting MultiPlayer, or CLI arguments.  (See the 'Startup' for details on
  415. starting MultiPlayer.)
  416.  
  417. OK button
  418.  
  419.     This button simply closes the Program window - the same thing as
  420. clicking the close gadget.
  421.  
  422.     If you want to create or modify module program files yourself, just
  423. take a look at one of the files MultiPlayer generates - it's just a simple
  424. text file.  Lines starting with 'DIR' denote changes of directory - all
  425. filenames after that until another 'DIR' keyword will be looked for in that
  426. directory.  Lines that start with a tab character (make sure they remain
  427. tab characters, and don't get converted to spaces!) contain the settings
  428. information for the module on the previous line.  I won't explain the
  429. format exactly, but it shouldn't be too hard for you to figure out if you
  430. want to.
  431.  
  432.  
  433.  
  434.                             Preferences Window
  435.                             ~~~~~~~~~~~~~~~~~~
  436.  
  437.     MultiPlayer's built-in Preferences window can be opened by clicking on
  438. the 'Prefs' button in the main MultiPlayer window, or by pressing F2 in any
  439. of MultiPlayer's windows.  It contains a few options which you can use to
  440. tailor MultiPlayer to your own preferences.  The gadgets are described
  441. below:
  442.  
  443. Play gadget
  444.  
  445.     Use this to select between sequenced play, random play, and 'over and
  446. over' mode.  In sequenced play, the modules in the program list are played
  447. one after another, from beginning to end, in the order they appear in the
  448. program list.  In random play, a module plays once and then another is
  449. randomly selected.  In 'once' mode, the song is played only once, then is
  450. unloaded and MultiPlayer becomes idle.  In 'over and over' mode, anything
  451. you select is played forever until you tell MultiPlayer to start a
  452. different module.  (In these last two mode, you can still use the 'Next'
  453. and 'Prev' buttons in the main window to change modules; MultiPlayer just
  454. doesn't do it by itself.)
  455.  
  456. Show gadget
  457.  
  458.     This cycle gadget allows you to select the type of display you want to
  459. appear in the main window's title bar while a module is playing.  In clock
  460. mode, a clock appears displaying the amount of time this module has been
  461. playing in minutes and seconds.  In sequence mode (this has no relation to
  462. the 'in sequence' mode in the 'Play' gadget), on NoiseTracker or similar
  463. modules that play sequences of blocks, the current sequence number and the
  464. number of sequences in the song is displayed.  (On modules that don't
  465. support this, the clock is displayed instead.) You can tell MultiPlayer to
  466. display the current sequence number either starting from 0 and ending at
  467. length-1, as most tracker programs display sequence numbers, or starting
  468. from 1 and ending at (length), which is the more 'natural' way of counting.
  469. Selecting the 'Nothing' option in this gadget will leave you with a simple,
  470. clean, unadulterated title bar.
  471.  
  472. Spectrogram checkbox
  473.  
  474.     Use this to turn the spectrogram window on or off.  The F6 key also
  475. serves this purpose.
  476.  
  477. Note Scroller checkbox
  478.  
  479.     Use this to turn the note scroller window on or off.  The F7 key also
  480. serves this purpose.
  481.  
  482. StereoScope checkbox
  483.  
  484.     Use this to turn the stereo scope window on or off.  The F8 key also
  485. serves this purpose.
  486.  
  487. QuadraScope checkbox
  488.  
  489.     Use this to turn the four-channel scope window on or off.  The F9 key
  490. also serves this purpose.
  491.  
  492. Fade... checkbox
  493.  
  494.     If this checkbox is activated, whenever you press the 'Play' or 'Stop'
  495. gadgets in the main control panel (or press the spacebar), the music
  496. gradually fades in and out rather than abruptly starting or stopping.
  497. This will only happen on modules that support volume control.
  498.  
  499. Keep... checkbox
  500.  
  501.     If this checkbox is activated, MultiPlayer does two things differently
  502. than it normally does.  First, when you save the preferences, not only are
  503. the preferences saved as usual, but the currently loaded program is also
  504. saved in ENV: and ENVARC: in a file called "MultiPlayerProgram".  Second,
  505. when MultiPlayer starts up, if it sees that you have this option set, and
  506. you haven't specified any other modules or programs in the startup options,
  507. it automatically loads this program (without starting it).  This way, if
  508. you generally only keep one program around, this option provides an easy
  509. way to always load it automatically without worrying about any startup
  510. options or anything.  Even if you have this option selected, you can still
  511. load and save other programs normally through the Program window.
  512.  
  513. Hot key string gadget
  514.  
  515.     By default, this string gadget is empty and MultiPlayer behaves like a
  516. normal application.  However, you can enter a Commodities-style hotkey name
  517. into this gadget.  (Make sure you press return in the gadget after changing
  518. the string!)  MultiPlayer will then activate that key as a hot key which
  519. you can use to open the main MultiPlayer control panel at any time.  When a
  520. hot key is active, clicking the control panel's close gadget closes all of
  521. MultiPlayer's windows, but does not terminate MultiPlayer or stop playing
  522. music.  You can use this too keep MultiPlayer hidden in the background,
  523. without using any screen space at all.  This feature only works on 2.0.
  524.  
  525. Save button
  526.  
  527.     Saves the current preferences to the disk file ENV:MultiPlayerPrefs, as
  528. well as to the same file in ENVARC:.  (With a preferences window as simple
  529. as this, there's no real need for separate 'Save' and 'Save Default'
  530. options.)
  531.  
  532.     The preferences saved include, as well as the current settings of the
  533. above two gadgets, the positions of the three main MultiPlayer windows. The
  534. next time you run MultiPlayer, the windows will pop up wherever they were
  535. when you saved the preferences.
  536.  
  537. OK button
  538.  
  539.     Does exactly the same thing as the close gadget on the window does -
  540. closes the Preferences window.  It does NOT cause the new preferences to be
  541. activated, because they are already activated: anything you select gets
  542. activated the moment you select it.  (None of those exclusive Macie dialog
  543. boxes, please.)  There is no 'Cancel' gadget because I figure it's not too
  544. difficult to change back any buttons you accidentally hit, since there are
  545. so few...
  546.  
  547.  
  548.  
  549.                               Settings Window
  550.                               ~~~~~~~~~~~~~~~
  551.  
  552.     MultiPlayer's Settings window serves a function very similar to the
  553. Preferences window.  However, instead of storing settings that apply to
  554. MultiPlayer as a whole, it is used to select options that pertain to
  555. individual modules in the program list.  To get it, click the 'Settings'
  556. button in the program window, or press F3 in any of MultiPlayer's windows.
  557.  
  558.     The Settings window contains a number of gadgets which control how the
  559. currently selected module (not necessarily the currently playing module) is
  560. to be played.  MultiPlayer stores separate settings for each module on the
  561. program list.  When you save the program list, the settings for each module
  562. are saved with it.  Not all of the settings are applicable to every type of
  563. module; on those modules, the appropriate settings gadgets will be disabled.
  564.  
  565. Module box
  566.  
  567.     This text box displays the name of the currently selected module (the
  568. same as the name displayed under the program list gadget in the Program
  569. window).  This is not necessarily the module that is currently playing -
  570. you can edit the settings for one module while you play another (or while
  571. you're not playing any module).
  572.  
  573. Volume, Balance, and Speed gadgets
  574.  
  575.     The gadgets in these two rows complement the corresponding gadgets in
  576. the control panel.  While the controls in the main window control whatever
  577. module is currently playing, these gadgets control the individual modules
  578. in the program.  For example, when you play a given module, the volume at
  579. which it plays is determined by both the master volume setting on the main
  580. control panel, and the volume setting for that specific module defined in
  581. the Settings window.  This allows you to set specific settings for
  582. individual modules, while still being able to control the overall speed,
  583. volume, and balance independently from the main control panel.
  584.  
  585. End text box and gadgets
  586.  
  587.     These settings allow you to tell MultiPlayer when to stop a module that
  588. normally doesn't stop by itself, or to make MultiPlayer stop playing the
  589. module before it would normally end.  The text box displays the amount of
  590. time MultiPlayer will let the module play before stopping it, if you've set
  591. an endpoint.
  592.  
  593.     To set a module's endpoint, you must be currently playing the module
  594. you want to change the setting for.  (The Set button will only be activated
  595. if this is the case.)  When the music gets to the point where you would
  596. like it to stop every time you play it, click the Set button.  MultiPlayer
  597. will record the endpoint and (since setting the endpoint implies that you
  598. have reached it) the module will immediately end.  Next time you play that
  599. module, it will stop automatically at that point.  To clear a module's
  600. endpoint, just press the Clear button.
  601.  
  602.     Note that the endpoint stored is only an amount of time to play -
  603. MultiPlayer generally can't actually tell where in the module you are at
  604. that time.  Therefore, messing with the module's playing speed will throw
  605. off the endpoint timer.  Changing video frequencies (i.e. switching between
  606. PAL and NTSC mode) while the module is being timed can also throw off the
  607. timer.  I may fix this problem in the future, if there is enough demand.
  608. (If it's really important to you, tell me and I'll put it higher on my
  609. list.)
  610.  
  611. Filter cycle gadget
  612.  
  613.     This gadget determines how the low-pass filter (and the power LED) is
  614. handled.  Normally it's just set to 'controlled by module', so music
  615. modules can turn it on or off as part of their effects.  However, if a
  616. particular module does things you don't like with the filter, you can force
  617. the filter permanently on or off with this gadget, so the module can no
  618. longer control it.  Of course, this feature works only on module types that
  619. allow MultiPlayer to control the filter.
  620.  
  621. Protracker tempo commands checkbox
  622.  
  623.     This checkbox is only activated for standard ST/NT/PT modules.  If it
  624. is not set, the Protracker player interprets all speed commands in the
  625. module as NoiseTracker and other older trackers did, and keeps the baseline
  626. frequency at 50Hz (or whatever you set the speed to).  If this checkbox is
  627. set, the newer Protracker tempo commands are enabled.  Basically, this
  628. option is here because there is no reliable way to detect whether a module
  629. is using NoiseTracker speed commands or Protracker tempo commands.  While
  630. most modules will work fine on either setting, some will only play at the
  631. correct speed at one setting.  If you play a module and it suddenly starts
  632. going way too slow, or way too fast, or otherwise plays at an obviously
  633. "wrong" speed, try flipping this checkbox and start the module again.  In
  634. general, older modules need this checkbox to be off, while newer Protracker
  635. modules need it on.
  636.  
  637. Fade checkbox
  638.  
  639.     If you select this checkbox, and the module supports volume control,
  640. when the module ends, instead of stopping immediately it will continue for
  641. a couple seconds longer (most likely repeating an earlier part of the
  642. song), gradually fading out.  This is nice for the many modules that just
  643. repeat over and over, and never actually end.  With this feature you can
  644. make the ending seem a little more natural.
  645.  
  646. Current button
  647.  
  648.     Pressing this button will set the currently selected module to the same
  649. as the currently playing module.  Thus, if you are listening to a module
  650. and decide you want to change something about it, you don't have to hunt it
  651. down in the program list - just press this button, and you will be
  652. instantly at that module.
  653.  
  654. OK button
  655.  
  656.     This button simply closes the Settings window.  Like the OK button in
  657. the Preferences window, it doesn't actually cause anything else to happen,
  658. because whenever you change anything in the Settings window, the changes
  659. take effect immediately.
  660.  
  661.  
  662.  
  663.                               Flashy Windows
  664.                               ~~~~~~~~~~~~~~
  665.  
  666.     For your viewing pleasure, MultiPlayer contains some little gizmos that
  667. you've probably seen before in Eurodemos and other players.  The
  668. Spectrogram window displays a bar graph of the frequencies currently
  669. playing.  The Note Scroller window shows a miniature tracker-like display
  670. of the notes scrolling up the screen.  (You can't read the notes, but if
  671. you're using MultiPlayer you're probably wanting to listen to music, not
  672. read it, right?)  This works only on Protracker-type modules.  The Stereo
  673. Scope window shows an Oscilliscope-like view of the sound coming out of
  674. each channel.  The QuadraScope is basically the same thing as the Stereo
  675. Scope, except it has a separate display for each of the four channels. (You
  676. can have both the StereoScope and the QuardraScope active at the same time
  677. if you want.)
  678.  
  679.     All four windows can be toggled on and off from the Preferences window.
  680. Each also has a function key that works from any of the windows. You can
  681. toggle the Spectrogram window with F6, the Note Scroller with F7, the
  682. StereoScope with F8, and the QuadraScope with F9.
  683.  
  684.     All "flashy" window updating is done in a separate task with a priority
  685. of -5, so turning on these windows should not generally degrade system
  686. performance at all.  However, this means that the windows will stop
  687. updating temporarily when the system is heavily loaded.
  688.  
  689.  
  690.  
  691.                             Keyboard Shortcuts
  692.                             ~~~~~~~~~~~~~~~~~~
  693.  
  694.     Several keyboard shortcuts are available from any MultiPlayer window
  695. (except the file requester).  Most of these have been mentioned before in
  696. this document, but they are listed all together here.  All of these are
  697. available under 1.3 as well as 2.0.  These keys are listed below:
  698.  
  699. ESC key
  700.  
  701.     Terminates MultiPlayer immediately (a shortcut for the close gadget on
  702. the main window.
  703.  
  704. F1 and Help keys
  705.  
  706.     Toggles the Program window (opens it, or closes it if it was already open).
  707.  
  708. F2 key
  709.  
  710.     Toggles the Preferences window.
  711.  
  712. F3 key
  713.  
  714.     Toggles the Settings window.
  715.  
  716. F6 key
  717.  
  718.     Toggles the Spectrogram window.  (Also toggles the Spectogram item in
  719. the Preferences window.)
  720.  
  721. F7 key
  722.  
  723.     Toggles the Note Scroller window.
  724.  
  725. F8 key
  726.  
  727.     Toggles the StereoScope window.
  728.  
  729. F9 key
  730.  
  731.     Toggles the Note Scroller window.
  732.  
  733. Spacebar
  734.  
  735.     If a module is currently playing, stops (or pauses) it without
  736. unloading it, just like the 'Stop' button in the main window.  If a module
  737. is loaded but NOT playing, it continues or restarts it, just like the
  738. 'Play' button.
  739.  
  740. Delete key
  741.  
  742.     Unloads ('ejects') the currently loaded module.
  743.  
  744. Up/down arrows
  745.  
  746.     These switch to the previous or next modules in the program list,
  747. respectively.  In random play, these simply select another module at
  748. random.  (These are shortcuts for the 'Next' and 'Prev' buttons in the main
  749. window.)
  750.  
  751. Left/right arrows
  752.  
  753.     For modules that contain more than one song, these select the previous
  754. or next song, respectively (shortcuts for the 'Song' cycle gadget).
  755.  
  756.  
  757.  
  758.                               Startup Options
  759.                               ~~~~~~~~~~~~~~~
  760.  
  761.     When starting MultiPlayer from Workbench (either 1.3 or 2.0), you can
  762. extended-select the icons of as many modules as you want when you start
  763. MultiPlayer.  It will add all of these modules to the program and
  764. immediately start playing the first one (or a random selection, if you have
  765. selected random play in your saved preferences).  Additionally, you may set
  766. certain default parameters in the ToolTypes field of MultiPlayer's
  767. Workbench icon; these are described later in this section.
  768.  
  769.     If you're running Kickstart 1.3, MultiPlayer will accept a single
  770. argument from the CLI (don't use quotes, even if there are spaces in it).
  771. If this argument ends in a ':' or '/', MultiPlayer will change to that
  772. directory before displaying the ARP file requester.  If it doesn't end in
  773. one of these characters, MultiPlayer will try to load the specified file as
  774. a module and start it playing rather than displaying the file requester
  775. immediately.  MultiPlayer doesn't have any extra command-line goodies under
  776. 1.3, so if you need any of these extra features, maybe it's time to
  777. upgrade...
  778.  
  779.     If you're running Kickstart 2.0, MultiPlayer supports a full set of
  780. command-line options:
  781.  
  782.         DIR=DIRECTORY,PLAY=MODULES/M,PROG=PROGRAM/M,
  783.         SCREEN/K,NOREQUEST/S,NOWINDOW/S,NOREXX/S
  784.  
  785.     Following is a description of these arguments:
  786.  
  787. DIR (synonym: DIRECTORY)
  788.  
  789.     The first argument on the command line (or the argument preceded by
  790. the DIR keyword, if you use the keyword) tells MultiPlayer what directory
  791. to go to the first time it displays the file requester.  This is also where
  792. it will look for modules you specify on the command line (see below) if you
  793. don't specify full pathnames for them.  Using this option to specify the
  794. directory where everything else comes from can save you some typing if you
  795. specify several modules that reside in the same directory on the command
  796. line.
  797.  
  798. PLAY/M (synonym: MODULES/M)
  799.  
  800.     The second argument (if you don't explicitly use the DIRECTORY or
  801. PLAY/MODULES keywords) begins a list of modules to put into MultiPlayer's
  802. program list on startup and start playing immediately.  MultiPlayer imposes
  803. no limitations on the number of modules you can specify using this keyword,
  804. although AmigaDOS command lines are currently limited to 256 characters.
  805. After MultiPlayer starts up, instead of showing the file requester
  806. immediately, it will load and begin playing the first module in the program
  807. list (or a randomly selected module, if you have selected random playing in
  808. your saved Preferences). With the registered version of MultiPlayer,
  809. program list files act the same way as modules, so you can specify a
  810. program file to load and start initially instead of a list of modules.
  811.  
  812. PROG/K (synonym: PROGRAM/K)
  813.  
  814.     You can use this keyword followed by the name of a program file as an
  815. alternative to the PLAY option.  If you use this option, MultiPlayer will
  816. load the named program file on startup and just go idle, rather than
  817. starting the first module immediately as it would if you used the PLAY
  818. keyword.  To start the program, just hit the "Next" or "Prev" gadgets in
  819. the main window (or just hit the up or down arrow keys in any of the
  820. MultiPlayer windows).  This feature only works on the registered version.
  821.  
  822.     Note that, apparently due to a bug in 2.04, if you specify the PROG
  823. keyword without giving a directory name as the first option, the PROG
  824. keyword and the program get put together and interpreted as a module name
  825. for the MODULE keyword!  Therefore, instead of "Player prog mus:blah", just
  826. use "Player mus: prog blah".
  827.  
  828. SCREEN/K
  829.  
  830.     You can use this parameter to tell MultiPlayer to open its windows on a
  831. screen other than the Workbench (or default) screen.  Just supply the name
  832. of the public screen as this parameter, and MultiPlayer will try to use it
  833. for all its windows.  The named public screen must already be open.
  834.  
  835. NOREQUEST/S
  836.  
  837.     If you specify the switch, MultiPlayer will not display the file
  838. requester immediately after it loads, even if you don't specify any modules
  839. to start playing.  If you don't specify any modules, MultiPlayer will
  840. simply sit idle until you tell it to do something.
  841.  
  842. NOWINDOW/S
  843.  
  844.     This switch causes MultiPlayer to load and run without opening its main
  845. window.  If you specify modules to start playing, MultiPlayer will play
  846. them as usual, but you won't see any visual indication that MultiPlayer is
  847. running.  If you have activated a hot key in MultiPlayer's saved
  848. preferences, you can later open the control panel with it.  You can also
  849. open the window through MultiPlayer's ARexx port, assuming you haven't
  850. turned that off as well.
  851.  
  852. NOREXX/S
  853.  
  854.     If you specify this switch, MultiPlayer will not open its ARexx port.
  855. (On the unregistered version, MultiPlayer doesn't have an ARexx port, so
  856. this switch will do nothing.)
  857.  
  858.     If you run MultiPlayer from the Workbench, it will search through the
  859. ToolTypes array in its own icon for parameters which are roughly equivalent
  860. to the CLI parameters described above.
  861.  
  862. DIR (synonym: DIRECTORY)
  863. PROG (synonym: PROGRAM)
  864. SCREEN
  865.  
  866.     These ToolTypes act exactly like the corresponding CLI arguments.
  867. Simply enter one of these ToolType labels, then an equals ('=') sign, then
  868. the appropriate text.  For example, to load the program "Mus:DefaultProg"
  869. on startup, add the ToolType "PROG=Mus:DefaultProg".
  870.  
  871. REQUEST
  872. WINDOW
  873. REXX
  874.  
  875.     These ToolTypes perform the same functions as the similarly named CLI
  876. arguments, but instead of simply being flags,they are YES/NO ToolTypes. For
  877. example, to prevent MultiPlayer from opening the main window on startup,
  878. enter "WINDOW=NO" into the ToolTypes.
  879.  
  880.  
  881.  
  882.                                 ARexx Port
  883.                                 ~~~~~~~~~~
  884.  
  885.     If you have ARexx, either as an independent program in 1.3 or as part
  886. of the operating system in 2.0+, you can use it to control the registered
  887. version of MultiPlayer.  Whenever MultiPlayer is running, there is an ARexx
  888. port available called "RXTRACKER" which you can send various commands to.
  889. MultiPlayer's ARexx port is designed to be (mostly) compatible with the
  890. program RxTracker by Dominic Giampaolo.  In addition, it has several
  891. extended features, and of course you can use it to play all the different
  892. kinds of modules MultiPlayer understands.
  893.  
  894.     If MultiPlayer runs into an error when trying to load or play a module,
  895. it generally returns an error code of 10.  When any error occurs, a
  896. descriptive error string is saved and you can get it with the LASTERROR
  897. command.
  898.  
  899.     A listing of the ARexx commands MultiPlayer understands follows:
  900.  
  901. LOAD    <filename>
  902.  
  903.     Loads a module into memory from disk.  It is generally a good idea to
  904. supply a complete pathname, since MultiPlayer looks for the module starting
  905. at whatever directory the file requester last happened to be looking at.
  906. This command does not start the module playing.  If you want to start
  907. playing immediately, you don't have to use this command at all - you can
  908. simply supply a filename on the PLAY command and it will load and start
  909. playing immediately.  Note that unless you tell MultiPlayer to load a
  910. program file, this command won't affect the program list at all - the ARexx
  911. port in general operates independently of the standard user interface.  If
  912. you explicitly tell MultiPlayer to load a program file using this command,
  913. then the new program list will replace the old one.
  914.  
  915. PLAY    [<filename>] [<songnumber>]
  916.  
  917.     Starts playing a module.  If you supply the filename, MultiPlayer stops
  918. any module currently playing and tries to load the specified module from
  919. disk, like the LOAD command.  If you don't supply the filename, MultiPlayer
  920. plays (or re-plays from the start) an already-loaded module.  (If no module
  921. is loaded and you don't specify a filename, MultiPlayer returns error code
  922. 5 and otherwise does nothing.)  For modules with more than one song, you
  923. can supply the song number to play.  Songs are numbered starting at zero.
  924. If you don't supply a song number, the first one (song zero) is assumed.
  925.  
  926. STOP
  927.  
  928.     Stops playing any module that is currently playing without unloading
  929. the module.  You can then restart it later with PLAY or CONTINUE.
  930.  
  931. UNLOAD
  932.  
  933.     Stops and unloads any currently loaded module.
  934.  
  935. CONTINUE
  936.  
  937.     Tries to restart a stopped module at the position it was at before the
  938. STOP command was given.  If the module has never been started, it simply
  939. starts from the beginning.  If the module was already playing, it does
  940. nothing.  If the module type doesn't support restarting, MultiPlayer
  941. returns error code 5 and does NOT start the module - you can then use PLAY
  942. to start again from the beginning if you want, or else chew out the user
  943. for playing weird module formats.
  944.  
  945. OPENWINDOW
  946.  
  947.     Opens the main MultiPlayer window.  It will be opened in the small
  948. title-bar zoom state, and none of MultiPlayer's other windows will be
  949. opened with it.  If the window was already open, this command does nothing.
  950. It returns an error if the window can't be opened.  Remember that while the
  951. window is open the user can use it to change modules and such, possibly
  952. messing up your perfectly organized and timed ARexx-controlled playing
  953. sequences.
  954.  
  955. CLOSEWINDOW
  956.  
  957.     Closes the MultiPlayer window, if it was open.  MultiPlayer remains
  958. active, but impervious to user interface (through Intuition anyway).  Now
  959. only ARexx commands can affect MultiPlayer.
  960.  
  961. LASTERROR
  962.  
  963.     Returns an error message describing the last error that occurred that
  964. had to do with the ARexx port.  (Errors that the user causes by
  965. manipulating the window do not affect this.) You'll have to have 'options
  966. results' turned on for this to work, and the error will appear in the
  967. 'RESULT' variable.
  968.  
  969. QUIT
  970.  
  971.     Causes MultiPlayer to terminate immediately.
  972.  
  973.  
  974.  
  975.                                  Messages
  976.                                  ~~~~~~~~
  977.  
  978.     This section lists most of the error or warning messages MultiPlayer
  979. can produce.  Look here if you have trouble deciphering the meaning of one.
  980.  
  981. "Not enough chip memory"
  982.  
  983.     Tracker-style modules generally must be loaded into one big continuous
  984. chunk of chip memory.  Therefore, even if the Workbench (or some other
  985. program) says you have enough memory, it may not have one big enough chunk.
  986. Close some windows, exit some programs.  If all else fails, reboot and try
  987. fresh.
  988.  
  989. "Not enough memory"
  990.  
  991.     You really are getting low.  MultiPlayer doesn't normally need too much
  992. non-chip memory, since modules are always loaded into chip memory.  If you
  993. get this message, it means you don't have much memory of ANY kind
  994. available.  Better free up something quick.
  995.  
  996. "Required memory occupied"
  997.  
  998.     You will only get this message from non-relocatable AMOD or GMOD
  999. modules.  It means that the module has a specific address it must be loaded
  1000. into, but part or all of the required block of memory is already in use.
  1001. Free up as much memory as possible and try again.  If most of your memory
  1002. is free and you still can't load it, chances are there's some little
  1003. allocated fragment that some program has forgotten about that's still
  1004. sitting in the required area.  Your best bet is to reboot and try on a
  1005. fresh system.  If you have more than 512K of chip memory, try running my
  1006. program 'ChipMunch' (included with MultiPlayer) just after you reboot to
  1007. keep programs out of the commonly used areas.
  1008.  
  1009. "Nothing selected"
  1010.  
  1011.     Not an error, this simply means that you pressed Cancel in the file
  1012. requester without selecting any modules.  MultiPlayer then happily goes on
  1013. doing whatever it was already doing.
  1014.  
  1015. "Unknown module type"
  1016.  
  1017.     MultiPlayer doesn't recognize the file you selected as one of the
  1018. module types it knows.  Either this isn't a music module, or it's one that
  1019. it doesn't know how to handle.  If it is a music module that MultiPlayer
  1020. doesn't know about, send me the module and player/interface code, and it
  1021. should make it into the next version of MultiPlayer.
  1022.  
  1023. "Corrupt module"
  1024.  
  1025.     MultiPlayer recognized the module, but it didn't look right for some
  1026. reason.  Maybe it's a module written with an incompatible version of the
  1027. music program, or maybe the module itself got munched somehow.
  1028.  
  1029. "Error playing module"
  1030.  
  1031.     A general catch-all.  This error usually is displayed as a result of
  1032. error reports from initialization routines of individual players.  It
  1033. generally means that the module loaded fine, but the player had trouble
  1034. playing it.  Sometimes it means the same thing as "Corrupt module", or it
  1035. might mean that the player ran out of memory but was too stupid to tell
  1036. MultiPlayer about it specifically.
  1037.  
  1038. "Can't load module"
  1039.  
  1040.     The requested file was not found, or there was a disk error while
  1041. reading it.  If you get this message after selecting a file from the file
  1042. requester, chances are the disk is corrupt (in this case AmigaDOS should
  1043. have already given you a requester saying so), or the file may be open for
  1044. writing from some other program.
  1045.  
  1046. "Directory not found"
  1047.  
  1048.     Somehow you managed to tell MultiPlayer to load something from a
  1049. directory that doesn't exist.  Maybe you moved the directory somewhere
  1050. else, or forgot an Assign somewhere.  This usually only happens with ARexx
  1051. commands or loaded program lists.
  1052.  
  1053. "Audio hardware in use"
  1054.  
  1055.     MultiPlayer can't allocate the audio hardware through the audio.device.
  1056. This probably means that some other music editor or player is currently
  1057. running.  Find the culprit program and close it.  If all else fails, reboot
  1058. and try again.
  1059.  
  1060. "No CIAB timers available"
  1061.  
  1062.     MultiPlayer generally uses one of the two timers on CIA (Complex
  1063. Interface Adapter) B for timing its music.  However, other programs like to
  1064. use these also.  In particular, (I believe) one of the timers may be in use
  1065. if the serial port is in operation.  Other than that, music programs are
  1066. generally the biggest consumers of CIAB timers.  Make sure no other music
  1067. player or composer programs are running, and try closing terminal programs
  1068. or other programs that use the serial port.
  1069.  
  1070. "Please decompress this module"
  1071.  
  1072.     It is unlikely that you will ever get this message, but if you do, it
  1073. means that (a) the module MultiPlayer is trying to load is compressed
  1074. somehow (MultiPlayer had to use the xpkmaster.library to decompress it),
  1075. and (b) it is an AMOD or GMOD module that must load at an absolute address,
  1076. and (c) MultiPlayer would have to re-load the module rather than just
  1077. copying it to its final position because the memory the module occupied
  1078. initally overlapped the required module address.  If you don't quite
  1079. follow, don't sweat - just decompress the module.
  1080.  
  1081.  
  1082.  
  1083.                              Supported Formats
  1084.                              ~~~~~~~~~~~~~~~~~
  1085.  
  1086. MultiPlayer currently supports the following module types:
  1087.  
  1088.         15-instrument SoundTracker modules (most anyway)
  1089.         31-instrument SoundTracker/NoiseTracker 1.3D modules
  1090.  
  1091.         Protracker 1.0-1.1B modules
  1092.  
  1093.         NoiseTracker 1.3D packed modules (with or without the embedded player)
  1094.  
  1095.         StarTrekker 1.2 AM/FM modules (Extra '.NT' file required)
  1096.  
  1097.         MED 3.00-3.21 and OctaMED 1.00-1.00b modules
  1098.                 Modules (MMD0) only - not "Song&Samples" files.
  1099.                 (Thanks Mr. Kinnunen!)
  1100.  
  1101.         Oktalyzer 4- and 8-channel modules
  1102.                 Uses my own 8-channel play engine.  8-channel modules will
  1103.                 be slightly higher quality on a 68020+ processor.
  1104.  
  1105.         SoundFX V1.3 executable modules (Player V2.2)
  1106.                 Will probably ONLY work with this version, since it does
  1107.                 some run-time patching to make it play under MultiPlayer.
  1108.  
  1109.         Future Composer 1.3 ('SMOD') and 1.4 ('FC14') modules
  1110.  
  1111.         JamCrackerPro 1.0a modules
  1112.  
  1113.         SoundMonitor 2.0 modules
  1114.  
  1115.         SidMon 2.1 modules
  1116.  
  1117.         Delta Music modules (two versions)
  1118.  
  1119.         Mark II modules
  1120.  
  1121.         Dave Whittaker modules
  1122.  
  1123.         Face The Music modules (DO NOT COMPRESS!)
  1124.                 This is very kludgy at best - you must have "PlayFTM:" ASSIGNed
  1125.                 to the PlayFTM program file.  (Didn't know you could ASSIGN
  1126.                 to a file?  Now you do!)  The procedure involves loading the
  1127.                 module, the external player, and then the module again.  Ack!
  1128.                 Apologies to floppy users.  I'm trying to contact the author(s)
  1129.                 of FTM to get some real player code, but no luck so far.
  1130.  
  1131.         Generic embedded-player modules that start with something like
  1132.                         jmp init(pc)
  1133.                         jmp music(pc)
  1134.                         jmp end(pc)
  1135.                 (Such as NoiseTracker 1.3 packed w/player modules)
  1136.  
  1137.         AudioMaster III sequenced 8SVX sounds (mono only)
  1138.  
  1139.         'XMOD', 'AMOD', and 'GMOD' formats described in 'Formats.doc'
  1140.  
  1141.     Some of the module types are marked as 'untested'.  This means exactly
  1142. what it says - I found out the appropriate methods to play these and easily
  1143. added support into MultiPlayer, but I didn't have any modules to test it
  1144. on.  So if I made a stupid mistake, one or more of these may not work at
  1145. all.  If you try one of these formats and it doesn't work, send me a few
  1146. modules in the appropriate format to test with, and if you're the first to
  1147. do so, I'll register you for free and send you the new bug-fixed version of
  1148. MultiPlayer.
  1149.  
  1150.     Although sequenced 8SVX sounds are technically only sampled sound
  1151. files, they have some music capability and look promising.  Besides, the
  1152. player also plays non-sequenced 8SVX sounds, so you can also play your
  1153. movie clips and such with MultiPlayer.  (I'm not sure if AudioMaster III is
  1154. the only program that currently supports sequenced 8SVX files, but it's the
  1155. only one I've seen so far.) Stereo is currently not supported - sorry, I'll
  1156. get to that eventually.
  1157.  
  1158.  
  1159.  
  1160.                                   History
  1161.                                   ~~~~~~~
  1162.  
  1163. 1.17    (28-Feb-92)
  1164.         Fixed a serious bug in Guido (the user interface system) that sometimes
  1165.                 caused crashes under 2.0.
  1166.         Fixed a tempo bug in the Protracker player.
  1167.         Modules in the program list are now played by double-clicking them.
  1168.                 (lets you delete and do other things on them without playing them.)
  1169.         Added Settings window.  (Get to it from the Program window.)
  1170.         Rearranged the function key assignments yet again.
  1171.                 (Sorry - they should stay the same for a while now.)
  1172.         MultiPlayer can now read parameters from its ToolTypes for options when
  1173.                 started from Workbench.
  1174.         Added volume control to Oktalyzer 8-channel player.
  1175.         Added Commodities support under 2.0 - only one copy of MultiPlayer
  1176.                 gets run at once, and you can pop it up with a hot key.
  1177.         Two of the ARexx port's command names have changed: OPENWINDOW and CLOSEWINDOW
  1178.                 are now OPENWINDOWS and CLOSEWINDOWS.
  1179.         Added "Keep program with preferences" option (in the Preferences window).
  1180.         Changed the random number generator, hopefully for the better.
  1181.         Note: The 1.3 support in this version of MultiPlayer is very minimal.  The
  1182.                 next version will probably not support 1.3 at all.  Going, going...
  1183.  
  1184. 1.16    (8-Feb-92)
  1185.         Fixed a serious bug in the DeltaMusic player.
  1186.         Save Prefs now snapshots both states of main window.
  1187.         Flashy window updates now run in a separate low-priority task.
  1188.         Upgraded MED 3.20 player to 3.21, and added Continue support.
  1189.                 (Thanks Mr. Kinnunen!)
  1190.         Added (very kludgy) Face The Music support.
  1191.                 (See the "Supported Formats" section for how to use it.)
  1192.         Added PROG keyword to command line options.
  1193.                 (Lets you load a program file without starting immediately.)
  1194.         Fixed Mark II player.
  1195.         Protracker player now supports CIA tempo commands.
  1196.         Created Quadrascope and Note Scroller windows.
  1197.         Right and middle mouse buttons now work in all windows.
  1198.         LED (and filter) no longer get turned on at inappropriate times.
  1199.         Added directory scanning feature to program list manager.
  1200.                 (If you "add" a directory to the program, MultiPlayer scans
  1201.                 it and adds its contents to the program.)
  1202.         Added volume, balance, and speed controls to main window.
  1203.  
  1204. 1.15    (17-Jan-92)
  1205.         Upgraded MED 3.11 player to MED 3.20.
  1206.                 (The MED player also now supports multiple songs).
  1207.         Added OctaMED 1.00 support.
  1208.         Fixed a small bug in author search routine.
  1209.         Fixed SidMon player bug.
  1210.         Added Spectrogram and Scope windows.
  1211.         Created non-overlaid version (Player.nov) for registered release.
  1212.  
  1213. 1.14    (6-Jan-92)
  1214.         Internal pseudo-release.
  1215.  
  1216. 1.13    (1-Jan-92)
  1217.         Added Oktalyzer 8-channel support using my own 8-channel audio engine.
  1218.                 (Never did find a real Oktalyzer 8-channel play routine.)
  1219.  
  1220. 1.12    (29-Dec-91)
  1221.         Protracker support added by replacing the NoiseTracker player with the
  1222.                 (similarly modified) Protracker 1.1B player.  I haven't detected
  1223.                 any backward incompatibilities with NoiseTracker modules, but
  1224.                 tell me if you find any.
  1225.         Oktalyzer 4-channel player finally tested and fixed.
  1226.                 (Yep, it didn't work at all.  Sorry...)
  1227.  
  1228. 1.11b   (19-Dec-91)
  1229.         Control panel clock/sequence display now always matches title color under 2.0.
  1230.         Fixed minor event-handling bug.
  1231.  
  1232. 1.11a   (12-Dec-91)
  1233.         Fixed bug in 8SVX player.
  1234.         Window positions are now saved with preferences.
  1235.  
  1236. 1.11    (10-Dec-91)
  1237.         Repeat detection bug in ST/NT player fixed.
  1238.         Program and preferences windows now save their positions while closed.
  1239.         Enhanced author name detection.
  1240.         Added middle-mouse-button zoom feature.
  1241.         Added 'Nothing' option to the show mode in preferences.
  1242.         Improved Delta Music module recognition.
  1243.  
  1244. 1.10    (18-Nov-91)
  1245.         Right mouse button in the main window has changed functions:
  1246.                 Under 1.3, it zooms the window (since there's no zoom gadget)
  1247.                 Under 2.0, it shows the program window (like the Help or F1 key)
  1248.         File requester is now asynchronous (other windows remain active).
  1249.         Control panels are now fully 1.3 compatible.
  1250.                 (Although they still don't look as nice as in 2.0...)
  1251.         Keyboard shortcuts now supported in all control panels.
  1252.         Added public screen support.
  1253.         Added "play once" feature.
  1254.         DMA delays now use scanline waits instead of delay loops.
  1255.         Re-opening sub windows now closes them rather than bringing them to the front.
  1256.         Added AppWindow support for 2.0.
  1257.  
  1258. 1.01    (8-Nov-91)
  1259.         Added 'Sort' button in program window.
  1260.         Fixed a serious bug in GMOD player.  (Only serious if you have GMOD modules...)
  1261.         Enhanced author name recognition for ST/NT modules.
  1262.  
  1263. 1.00    (5-Nov-91)
  1264.         This is basically a rewrite of most of the program.
  1265.                 (I'm not listing all the additions - there are way too many.)
  1266.         Major changes and additions to Formats.doc.
  1267.         Music no longer cuts off when file requester is displayed.
  1268.         Removed built-in code compression.  (Maybe I'll put it back in later.)
  1269.         Audio device now allocated while playing music.
  1270.         Fixed SoundFX player bug which caused crashing on advanced processors.
  1271.         Players now use longer DMA delays (normally 300) only on fast processors.
  1272.                 (Wouldn't want to bog down you poor ol' 68000 users would we?)
  1273.         Major rewrite of player selection code.
  1274.         CIAB interrupts now defer to software interrupts to avoid hogging
  1275.                 CPU time in a high-priority interrupt.
  1276.  
  1277. 0.95a   (6-Sep-91)
  1278.         Fixed bug where song position appeared when no module was playing.
  1279.         Fixed ST/NT player bug for modules with negative song repeat positions.
  1280.  
  1281. 0.95    (27-Jul-91)
  1282.         Added song position indicator for ST/NT and MED modules.
  1283.         Added code to turn low-pass filter off by default (will soon be selectable).
  1284.         Added Messages section to the documentation.
  1285.         Fixed window position so it snuggles right up next to the screen gadgets.
  1286.  
  1287. 0.94a   (26-Jul-91)
  1288.         Fixed player window height on pre-2.0 operating systems.
  1289.         Increased delay loop (ugh!) in NoiseTracker player for faster processors.
  1290.         Fixed song repeat bug in NoiseTracker player.
  1291.         Hacked NoiseTracker player to play old 15-instrument modules.
  1292.         Fixed memory trashing bug in NoiseTracker player.
  1293.                 (I hate cleaning up someone else's code!)
  1294.  
  1295. 0.94    (23-Jul-91)
  1296.         Uses one of the CIAB timers for timing rather than the VBlank interrupt.
  1297.         Finally uses Workbench 2.0 ASL file requester if available.
  1298.         Added MED 3.xx modules, removed MED 2.xx songs.
  1299.  
  1300. 0.93    (3-Jul-91)
  1301.         Workbench 2.0 compatible (although some modules may not be).
  1302.  
  1303. 0.92    (7-Jun-91)
  1304.         Added 'AMOD' absolute loading module format described in 'Formats.doc'.
  1305.         Added 'GMOD' general module format described in 'Formats.doc'.
  1306.         Added NoiseTracker 1.3D packed (with player) modules.
  1307.         Added StarTrekker 1.2 AM synthesized modules.
  1308.         Updated the SoundTracker/NoiseTracker player.
  1309.                 (New player comes from NoiseTracker 1.3D)
  1310.  
  1311. 0.91    (29-Apr-91)
  1312.         Added 'XMOD' format described in 'Formats.doc'.
  1313.         Removed "unknown" module formats (turned those modules into XMOD's)
  1314.  
  1315. 0.90    (27-Apr-91)
  1316.         First preliminary release.  Nothing fantastic.
  1317.  
  1318.  
  1319.  
  1320.                                Registration
  1321.                                ~~~~~~~~~~~~
  1322.  
  1323.     MultiPlayer is Shareware.  For the small price of $15 you will get the
  1324. registered version of MultiPlayer which allows loading and saving of
  1325. programs (module lists), as well as the full-featured ARexx port described
  1326. earlier in this document (useful for playing modules with AmigaVision and
  1327. the like).  Of course, you also gain my favor - suggestions for
  1328. improvements will be taken much more seriously from registered users.
  1329.  
  1330.     I'm planning to release the source code to MultiPlayer eventually.
  1331. However, it uses many of my library routines that I have not released yet
  1332. (though I'm planning to when I have the chance), so it will have to wait a
  1333. while. The source code will probably be available with a $30 registration
  1334. fee (or an additional $15 for users who have already paid the $15
  1335. registration fee). How hard I work on getting my library routines cleaned
  1336. up and released, and therefore how soon I get MultiPlayer's source code
  1337. released, depends a great deal on how much support I get for MultiPlayer.
  1338.  
  1339.  
  1340.  
  1341.                               Contact Address
  1342.                               ~~~~~~~~~~~~~~~
  1343.  
  1344.     I tend to move around a great deal, so mail sent directly to me
  1345. sometimes has a hard time catching up.  If you want mail to reach me (it
  1346. may take a while, but it WILL reach me), send it to this address:
  1347.  
  1348.         Bryan Ford
  1349.         8749 Alta Hills Circle
  1350.         Sandy, UT 84093
  1351.  
  1352.     I can be reached more quickly (for the time being anyway) on the phone
  1353. or through one of the electronic mail addresses below:
  1354.  
  1355.         (801) 585-4619
  1356.         bryan.ford@m.cc.utah.edu
  1357.         baf0863@cc.utah.edu
  1358.         baf0863@utahcca.bitnet
  1359.  
  1360.     If you want to get something to me through the mail more quickly, FIRST
  1361. call or E-mail me to make sure I'm still here, then send it to this
  1362. address:
  1363.  
  1364.         Bryan Ford
  1365.         27104 Ballif Hall
  1366.         University of Utah
  1367.         Salt Lake City, UT 84112
  1368.  
  1369.  
  1370.